

package Controlador;

import Modelo.VendedorModelo;
import Modelo.Vendedor;
import java.sql.SQLException;
import java.util.Iterator;
import java.util.LinkedList;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;


public class ControlVendedor {

    VendedorModelo mod= new VendedorModelo();
    LinkedList lista;
    DefaultTableModel tablaModelo;
    private Vendedor vend=new Vendedor();

     public ControlVendedor() {
        lista=new LinkedList();
        tablaModelo=new DefaultTableModel();

    }


   
     public JTable cargaVendedorTabla(JTable tabla,String consulta,int tipo){//utilizo 2 parametros la tabla y la consulta, si la consulta es vacia
                                                           //trae todos los datos
        cleanTabla(tabla);
        tablaModelo=(DefaultTableModel) tabla.getModel();
	try
	{
            lista=mod.consultaVendedorTabla(consulta,tipo);
            Iterator it=lista.iterator();
            while( it.hasNext() )
            {
                vend=(Vendedor)it.next();
                tablaModelo.addRow
                (
                    new Object[]
                    {
                        vend.getCodigo(),vend.getCedula(),vend.getNombre(),vend.getApellido(),vend.getDireccion(),vend.getTelefono(),vend.getCodigoSucursal(),vend.getEstado(),
                    }
                );
            }
            tablaModelo.addRow(new Object[]{});
     //       JOptionPane.showMessageDialog(null,"probando");
	}catch(Exception er){
		JOptionPane.showMessageDialog(null, "Error al cargar la lista de Vendedor de la base de datos, se presento " +
                        "\n un inconveniente al tratar de Buscar la informacion requerida " +
                        "\n por el sistema." +
                        "\n."+er.toString() , "Error en la Carga de Informacion...",JOptionPane.DEFAULT_OPTION);
	}
        return tabla;
    }

      public JTable cleanTabla(JTable tabla){
        tablaModelo=(DefaultTableModel) tabla.getModel();
        int x=tablaModelo.getRowCount();
	for(int i=-1;i<(x-1);i++)
		tablaModelo.removeRow(0);
        return tabla;
  }
      public Vendedor getVendedorCodigo(String consulta) throws SQLException{
          Vendedor vendedor=new Vendedor();
          vendedor=mod.consultaVendedorCodigo(consulta);
          return vendedor;
  }
      public void setNuevoVendedor(Vendedor vend) throws SQLException {//
        mod.setNuevoVendedor(vend);
    }

      public void actualizarVendedor(Vendedor vend,String consulta) throws SQLException   {// insertar datos a la base de datos
        mod.actualizarVendedor(vend, consulta);
    }

     public Vendedor consultaVendedorCodigo(String consulta) throws SQLException{
      Vendedor vendedor=new Vendedor();
      vendedor=mod.consultaVendedorCodigo(consulta);
      return vendedor;
  }

      /**
       * Consulta existencia del Vendedor
       * @param codigo de producto
       * @return
       * @throws SQLException
       */
     public boolean isExist(String consulta) throws SQLException{
        Vendedor vendedor=new Vendedor();
        vendedor=mod.consultaVendedorCodigo(consulta);

        if(vendedor.getCodigo()!=null)
          return true;

      return false;
     }

}
